/*
 * Copyright (c) 2018-2999 湖南洛云网络科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.service;

import java.io.IOException;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.AttachFile;
import com.yami.shop.common.util.PageParam;

/**
 *
 *
 * @author lgh
 * @date 2018/07/27
 */
public interface AttachFileService extends IService<AttachFile> {

	/**
	 * 上传文件
	 * @param bytes 文件byte数组
	 * @param originalName 文件原名
	 * @return 文件路径
	 * @throws IOException
	 */
	String uploadFile(byte[] bytes,String originalName) throws IOException;

	/**
	 * 上传图片
	 * @param bytes 图片byte数组
	 * @param attachFile 图片信息
	 * @return 图片路径
	 * @throws IOException
	 */
	String uploadImg(byte[] bytes,AttachFile attachFile) throws IOException;

	/**
	 * 上传客服文件
	 * @param bytes 文件byte数组
	 * @param originalName 文件原名
	 * @return 文件路径
	 * @throws IOException
	 */
	String uploadImFile(byte[] bytes,String originalName) throws IOException;

	/**
	 * 根据文件路径删除文件
	 * @param filePath 文件路径
	 */
	void deleteFile(String filePath);

	/**
	 * 更新文件信息
	 * @param attachFile 文件信息
	 * @return 是否成功
	 */
    Boolean updateFileName(AttachFile attachFile);

	/**
	 * 分页获取文件信息列表
	 * @param page 分页参数
	 * @param attachFile 文件搜索参数
	 * @return 文件分页结果列表
	 */
	IPage<AttachFile> getPage(PageParam<AttachFile> page, AttachFile attachFile);
}
